package com.ruoyi.exam.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 冲突检测日志管理对象 exam_conflict_log
 * 
 * @author ruoyi
 * @date 2025-11-11
 */
public class ExamConflictLog extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 日志ID */
    private Long logId;

    /** 安排ID */
    @Excel(name = "安排ID")
    private Long arrangeId;

    /** 时间ID */
    @Excel(name = "时间ID")
    private Long timeId;

    /** 课程信息 */
    @Excel(name = "课程信息")
    private String courseInfo;

    /** 冲突学生数 */
    @Excel(name = "冲突学生数")
    private Long conflictCount;

    /** 冲突学生信息（JSON格式） */
    @Excel(name = "冲突学生信息", readConverterExp = "J=SON格式")
    private String conflictStudents;

    /** 检测时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "检测时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date detectionTime;

    /** 操作人 */
    @Excel(name = "操作人")
    private String operator;

    public void setLogId(Long logId) 
    {
        this.logId = logId;
    }

    public Long getLogId() 
    {
        return logId;
    }

    public void setArrangeId(Long arrangeId) 
    {
        this.arrangeId = arrangeId;
    }

    public Long getArrangeId() 
    {
        return arrangeId;
    }

    public void setTimeId(Long timeId) 
    {
        this.timeId = timeId;
    }

    public Long getTimeId() 
    {
        return timeId;
    }

    public void setCourseInfo(String courseInfo) 
    {
        this.courseInfo = courseInfo;
    }

    public String getCourseInfo() 
    {
        return courseInfo;
    }

    public void setConflictCount(Long conflictCount) 
    {
        this.conflictCount = conflictCount;
    }

    public Long getConflictCount() 
    {
        return conflictCount;
    }

    public void setConflictStudents(String conflictStudents) 
    {
        this.conflictStudents = conflictStudents;
    }

    public String getConflictStudents() 
    {
        return conflictStudents;
    }

    public void setDetectionTime(Date detectionTime) 
    {
        this.detectionTime = detectionTime;
    }

    public Date getDetectionTime() 
    {
        return detectionTime;
    }

    public void setOperator(String operator) 
    {
        this.operator = operator;
    }

    public String getOperator() 
    {
        return operator;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("logId", getLogId())
            .append("arrangeId", getArrangeId())
            .append("timeId", getTimeId())
            .append("courseInfo", getCourseInfo())
            .append("conflictCount", getConflictCount())
            .append("conflictStudents", getConflictStudents())
            .append("detectionTime", getDetectionTime())
            .append("operator", getOperator())
            .toString();
    }
}
